docstr: Removes a tag from the current user's favorite tags.
  
  This function will find the tag by the provided id and remove the tag
  from the user's list of favorite tags. It uses the currently authenticated
  user from the global 'g' object.
  
  Args:
      tag_id: The id of the tag that is to be removed from the favorite tags.
  
  Raises:
      Any exceptions raised by the find_by_id function, the database session's
      commit method will propagate up to the caller.
  
  Returns:
      None.
docstr_tok: ["Removes","a","tag","from","the","current","user","'s","favorite","tags",".","This","function","will","find","the","tag","by","the","provided","id","and","remove","the","tag","from","the","user","'s","list","of","favorite","tags",".","It","uses","the","currently","authenticated","user","from","the","global","'","g","'","object",".","Args",":","tag_id",":","The","id","of","the","tag","that","is","to","be","removed","from","the","favorite","tags",".","Raises",":","Any","exceptions","raised","by","the","find_by_id","function",",","the","database","session's","commit","method","will","propagate","up","to","the","caller",".","Returns",":","None","."]
code: def remove_user_favorite_tag(tag_id: int) -> None:
      """
      Removes a tag from the current user's favorite tags.
  
      This function will find the tag by the provided id and remove the tag
      from the user's list of favorite tags. It uses the currently authenticated
      user from the global 'g' object.
  
      Args:
          tag_id: The id of the tag that is to be removed from the favorite tags.
  
      Raises:
          Any exceptions raised by the find_by_id function, the database session's
          commit method will propagate up to the caller.
  
      Returns:
          None.
      """
      tag = TagDAO.find_by_id(tag_id)
      user = g.user
  
      if not user:
          raise MissingUserContextException(
              message="User doesn't exist"
          )
      if not tag:
          raise TagNotFoundError()
  
      tag.users_favorited.remove(user)
  
      # Commit to save the changes
      db.session.commit()
  
imports: import logging
  from operator import and_
  from typing import Any, Optional
  from flask import g
  from sqlalchemy.exc import SQLAlchemyError
  from superset.commands.tag.exceptions import TagNotFoundError
  from superset.commands.tag.utils import to_object_type
  from superset.daos.base import BaseDAO
  from superset.daos.exceptions import DAODeleteFailedError
  from superset.exceptions import MissingUserContextException
  from superset.extensions import db
  from superset.models.dashboard import Dashboard
  from superset.models.slice import Slice
  from superset.models.sql_lab import SavedQuery
  from superset.tags.models import get_tag, ObjectType, Tag, TaggedObject, TagType, user_favorite_tag_table
  from superset.utils.core import get_user_id
label_desc: Use image node_id 10 for calling the TagDAO obj's underlying member method code with example usage: obj.remove_user_favorite_tag(tag_id) without return types